[INFO] fetching crate lincoln_ir 0.1.0...
[INFO] building lincoln_ir-0.1.0 against master#881c1ac408d93bb7adaa3a51dabab9266e82eee8 for issue-85264
[INFO] extracting crate lincoln_ir 0.1.0 into /workspace/builds/worker-11/source
[INFO] validating manifest of crates.io crate lincoln_ir 0.1.0 on toolchain 881c1ac408d93bb7adaa3a51dabab9266e82eee8
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate lincoln_ir 0.1.0
[INFO] finished tweaking crates.io crate lincoln_ir 0.1.0
[INFO] tweaked toml for crates.io crate lincoln_ir 0.1.0 written to /workspace/builds/worker-11/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 68d3923493e22f229262066f41c9013357d990cd78449d8fcc8e1e8c1dc6cf35
[INFO] running `Command { std: "docker" "start" "-a" "68d3923493e22f229262066f41c9013357d990cd78449d8fcc8e1e8c1dc6cf35", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "68d3923493e22f229262066f41c9013357d990cd78449d8fcc8e1e8c1dc6cf35", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "68d3923493e22f229262066f41c9013357d990cd78449d8fcc8e1e8c1dc6cf35", kill_on_drop: false }`
[INFO] [stdout] 68d3923493e22f229262066f41c9013357d990cd78449d8fcc8e1e8c1dc6cf35
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] bb466005d42c4f665330a00ae096d64581304133f561ecce9dcdbebbcce1214b
[INFO] running `Command { std: "docker" "start" "-a" "bb466005d42c4f665330a00ae096d64581304133f561ecce9dcdbebbcce1214b", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.27
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]    Compiling serde v1.0.126
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling serde_derive v1.0.126
[INFO] [stderr]    Compiling lincoln_common v0.1.0
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling backtrace v0.3.59
[INFO] [stderr]    Compiling syn v1.0.72
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling synstructure v0.12.4
[INFO] [stderr]    Compiling smallvec v0.6.14
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling lincoln_compiled v0.1.0
[INFO] [stderr]    Compiling lincoln_ir v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: cannot borrow `self.coderef_map` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/codemap.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |           let cont = self
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 42 | |             .coderef_map
[INFO] [stdout]    | |________________________- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 45 |           self.coderef_map.insert(ent, self.prog.add_jump(*cont, per));
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^ mutable borrow occurs here     ----- immutable borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `self.coderef_map` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/codemap.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |           let call = self
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 56 | |             .coderef_map
[INFO] [stdout]    | |________________________- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 76 |                   self.coderef_map
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^ mutable borrow occurs here
[INFO] [stdout] 77 |                       .insert(ent, self.prog.add_call(call.clone(), callcnt, grp));
[INFO] [stdout]    |                                                       ---- immutable borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `self.coderef_map` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/codemap.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |           let call = self
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 56 | |             .coderef_map
[INFO] [stdout]    | |________________________- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 65 |                   self.coderef_map
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^ mutable borrow occurs here
[INFO] [stdout] 66 |                       .insert(ent, self.prog.add_call(call.clone(), callcnt, *cont));
[INFO] [stdout]    |                                                       ---- immutable borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 59.45s
[INFO] running `Command { std: "docker" "inspect" "bb466005d42c4f665330a00ae096d64581304133f561ecce9dcdbebbcce1214b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bb466005d42c4f665330a00ae096d64581304133f561ecce9dcdbebbcce1214b", kill_on_drop: false }`
[INFO] [stdout] bb466005d42c4f665330a00ae096d64581304133f561ecce9dcdbebbcce1214b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 48b294704d78f9baf80518a54fb13e12e06a620378be117b1e38c12466e86939
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "48b294704d78f9baf80518a54fb13e12e06a620378be117b1e38c12466e86939", kill_on_drop: false }`
[INFO] [stderr]    Compiling lincoln_ir v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: cannot borrow `self.coderef_map` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/codemap.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |           let cont = self
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 42 | |             .coderef_map
[INFO] [stdout]    | |________________________- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 45 |           self.coderef_map.insert(ent, self.prog.add_jump(*cont, per));
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^ mutable borrow occurs here     ----- immutable borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `self.coderef_map` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/codemap.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |           let call = self
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 56 | |             .coderef_map
[INFO] [stdout]    | |________________________- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 76 |                   self.coderef_map
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^ mutable borrow occurs here
[INFO] [stdout] 77 |                       .insert(ent, self.prog.add_call(call.clone(), callcnt, grp));
[INFO] [stdout]    |                                                       ---- immutable borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `self.coderef_map` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/codemap.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |           let call = self
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 56 | |             .coderef_map
[INFO] [stdout]    | |________________________- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 65 |                   self.coderef_map
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^ mutable borrow occurs here
[INFO] [stdout] 66 |                       .insert(ent, self.prog.add_call(call.clone(), callcnt, *cont));
[INFO] [stdout]    |                                                       ---- immutable borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0593]: closure is expected to take 1 argument, but it takes 2 arguments
[INFO] [stdout]   --> src/tests.rs:20:41
[INFO] [stdout]    |
[INFO] [stdout] 20 |                   eval: EvalFn::stateless(|p, mut c| {
[INFO] [stdout]    |                                           ^---------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |  _________________________________________takes 2 arguments
[INFO] [stdout]    | |
[INFO] [stdout] 21 | |                     assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 3);
[INFO] [stdout] 22 | |                     assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 2);
[INFO] [stdout] 23 | |                     assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 1);
[INFO] [stdout] 24 | |                     Ok((Termination, c))
[INFO] [stdout] 25 | |                 }),
[INFO] [stdout]    | |_________________^ expected closure that takes 1 argument
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/tests.rs:21:32
[INFO] [stdout]     |
[INFO] [stdout] 21  |                     assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 3);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ ----------------  - supplied 2 arguments
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                expected 1 argument
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/lincoln_compiled-0.1.0/src/value.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn unwrap<T>(v: Box<dyn Value>) -> Result<T, EvalError>
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/tests.rs:22:32
[INFO] [stdout]     |
[INFO] [stdout] 22  |                     assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 2);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ ----------------  - supplied 2 arguments
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                expected 1 argument
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/lincoln_compiled-0.1.0/src/value.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn unwrap<T>(v: Box<dyn Value>) -> Result<T, EvalError>
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/tests.rs:23:32
[INFO] [stdout]     |
[INFO] [stdout] 23  |                     assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 1);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ ----------------  - supplied 2 arguments
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                expected 1 argument
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/lincoln_compiled-0.1.0/src/value.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn unwrap<T>(v: Box<dyn Value>) -> Result<T, EvalError>
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `[fn() -> ExternEntry; 1]` is not an iterator
[INFO] [stdout]   --> src/tests.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 |               .compile([(|| ExternEntry::Eval {
[INFO] [stdout]    |  ______________________^
[INFO] [stdout] 19 | |                 name: "rec2".into(),
[INFO] [stdout] 20 | |                 eval: EvalFn::stateless(|p, mut c| {
[INFO] [stdout] 21 | |                     assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 3);
[INFO] [stdout] ...  |
[INFO] [stdout] 25 | |                 }),
[INFO] [stdout] 26 | |             }) as fn() -> ExternEntry])
[INFO] [stdout]    | |______________________________________^ arrays do not yet implement `IntoIterator`; try using `std::array::IntoIter::new(arr)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Iterator` is not implemented for `[fn() -> ExternEntry; 1]`
[INFO] [stdout]    = note: see <https://github.com/rust-lang/rust/pull/65819> for more details
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:33:38
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |                                      ^^^
[INFO] [stdout]    |                                      |
[INFO] [stdout]    |                                      expected `&mut lincoln_compiled::Context`, found struct `lincoln_compiled::Context`
[INFO] [stdout]    |                                      help: consider mutably borrowing here: `&mut ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^   ------------------------------- this expression has type `lincoln_compiled::CodeRef`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected enum `lincoln_compiled::CodeRef`, found tuple
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `lincoln_compiled::CodeRef`
[INFO] [stdout]              found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^   ------------------------------- this expression has type `lincoln_compiled::CodeRef`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected enum `lincoln_compiled::CodeRef`, found tuple
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `lincoln_compiled::CodeRef`
[INFO] [stdout]              found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^   ------------------------------- this expression has type `lincoln_compiled::CodeRef`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected enum `lincoln_compiled::CodeRef`, found tuple
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `lincoln_compiled::CodeRef`
[INFO] [stdout]              found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0593]: closure is expected to take 1 argument, but it takes 2 arguments
[INFO] [stdout]   --> src/tests.rs:50:45
[INFO] [stdout]    |
[INFO] [stdout] 50 |                       eval: EvalFn::stateless(|p, mut c| {
[INFO] [stdout]    |                                               ^---------
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |  _____________________________________________takes 2 arguments
[INFO] [stdout]    | |
[INFO] [stdout] 51 | |                         let v = c.pop().unwrap();
[INFO] [stdout] 52 | |                         assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 2);
[INFO] [stdout] 53 | |                         assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 1);
[INFO] [stdout] 54 | |                         v.eval(p, c, 0)
[INFO] [stdout] 55 | |                     }),
[INFO] [stdout]    | |_____________________^ expected closure that takes 1 argument
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/tests.rs:52:36
[INFO] [stdout]     |
[INFO] [stdout] 52  |                         assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 2);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^ ----------------  - supplied 2 arguments
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    expected 1 argument
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/lincoln_compiled-0.1.0/src/value.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn unwrap<T>(v: Box<dyn Value>) -> Result<T, EvalError>
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/tests.rs:53:36
[INFO] [stdout]     |
[INFO] [stdout] 53  |                         assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 1);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^ ----------------  - supplied 2 arguments
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    expected 1 argument
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/lincoln_compiled-0.1.0/src/value.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn unwrap<T>(v: Box<dyn Value>) -> Result<T, EvalError>
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0593]: closure is expected to take 1 argument, but it takes 2 arguments
[INFO] [stdout]   --> src/tests.rs:59:45
[INFO] [stdout]    |
[INFO] [stdout] 59 |                       eval: EvalFn::stateless(|p, mut c| {
[INFO] [stdout]    |                                               ^---------
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |  _____________________________________________takes 2 arguments
[INFO] [stdout]    | |
[INFO] [stdout] 60 | |                         assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 3);
[INFO] [stdout] 61 | |                         Ok((Termination, c))
[INFO] [stdout] 62 | |                     }),
[INFO] [stdout]    | |_____________________^ expected closure that takes 1 argument
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/tests.rs:60:36
[INFO] [stdout]     |
[INFO] [stdout] 60  |                         assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 3);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^ ----------------  - supplied 2 arguments
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    expected 1 argument
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/lincoln_compiled-0.1.0/src/value.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn unwrap<T>(v: Box<dyn Value>) -> Result<T, EvalError>
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `[fn() -> ExternEntry; 2]` is not an iterator
[INFO] [stdout]   --> src/tests.rs:47:22
[INFO] [stdout]    |
[INFO] [stdout] 47 |               .compile([
[INFO] [stdout]    |  ______________________^
[INFO] [stdout] 48 | |                 || ExternEntry::Eval {
[INFO] [stdout] 49 | |                     name: "rec1".into(),
[INFO] [stdout] 50 | |                     eval: EvalFn::stateless(|p, mut c| {
[INFO] [stdout] ...  |
[INFO] [stdout] 63 | |                 }) as fn() -> ExternEntry,
[INFO] [stdout] 64 | |             ])
[INFO] [stdout]    | |_____________^ arrays do not yet implement `IntoIterator`; try using `std::array::IntoIter::new(arr)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Iterator` is not implemented for `[fn() -> ExternEntry; 2]`
[INFO] [stdout]    = note: see <https://github.com/rust-lang/rust/pull/65819> for more details
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:72:38
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |                                      ^^^
[INFO] [stdout]    |                                      |
[INFO] [stdout]    |                                      expected `&mut lincoln_compiled::Context`, found struct `lincoln_compiled::Context`
[INFO] [stdout]    |                                      help: consider mutably borrowing here: `&mut ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^   ------------------------------- this expression has type `lincoln_compiled::CodeRef`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected enum `lincoln_compiled::CodeRef`, found tuple
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `lincoln_compiled::CodeRef`
[INFO] [stdout]              found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^   ------------------------------- this expression has type `lincoln_compiled::CodeRef`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected enum `lincoln_compiled::CodeRef`, found tuple
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `lincoln_compiled::CodeRef`
[INFO] [stdout]              found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^   ------------------------------- this expression has type `lincoln_compiled::CodeRef`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected enum `lincoln_compiled::CodeRef`, found tuple
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `lincoln_compiled::CodeRef`
[INFO] [stdout]              found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 19 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0593.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lincoln_ir`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `Command { std: "docker" "inspect" "48b294704d78f9baf80518a54fb13e12e06a620378be117b1e38c12466e86939", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "48b294704d78f9baf80518a54fb13e12e06a620378be117b1e38c12466e86939", kill_on_drop: false }`
[INFO] [stdout] 48b294704d78f9baf80518a54fb13e12e06a620378be117b1e38c12466e86939
